﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CDSBDemandControl.Model
{
    [Serializable]
    public class DisponibilidadeModel
    {
        public DisponibilidadeModel()
        {
            this.feriados = new List<DateTime>();
            this.colaborador = new List<Colaborador>();
        }

        public List<DateTime> feriados { get; set; }
        public List<Colaborador> colaborador { get; set; }

        public Ferias TemFerias(string pColaborador)
        {
            Colaborador px = this.colaborador.Find(delegate(Colaborador col)
            {
                return col.colaboradorNome == pColaborador;
            }
            );

            return (px == null) ? null : px.ferias;
            
        }

        public List<FolgaProgramada> TemFolga(string pColaborador)
        {
            Colaborador px = this.colaborador.Find(delegate(Colaborador col)
            {
                return col.colaboradorNome == pColaborador;
            }
            );

            return (px == null) ? null : px.folgas;
        }
    }

    public class FolgaProgramada
    {
        public FolgaProgramada() { }

        public DateTime data { get; set; }
        public string hours { get; set; }
    }

    public class Ferias
    {
        public Ferias() { }

        public DateTime dataInicio { get; set; }
        public DateTime dataFim { get; set; }
    }

    public class Colaborador
    {
        public Colaborador()
        {
            this.folgas = new List<FolgaProgramada>();
        }

        public string colaboradorNome { get; set; }
        public List<FolgaProgramada> folgas { get; set; }
        public Ferias ferias { get; set; }
    }
}
